/**
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Company: UMP Technology Co. Ltd</p>
 * <p>2014年5月28日</p>
 * @author Zhang Wensheng
 */
package com.xianl.common;

/**
 * desc: 
 * @author Zhang Wensheng
 * date:2014年5月28日
 */
public enum ConstEC {

	/** #系统返回码[----]=== */
	SUCCESS("0000"),//成功
	REVOKE("1111"),//交易撤销
	REQILLEGAL("2222"),//请求非法，没有rpid
	TIMEOUT("3333"),//业务处理超时
	UNKONWN_ERR("4444"),//为知错误或异常
	SYSERR("9999"),//系统处理超时
	
	/** #平台业务错误码[3-----]=== */
	HTTP_IOEXCEPTION("300001"),//HTTP请求io读写异常
	HTTP_STATUS_NOTOK("300002"),//HTTP请求返回状态非200
	MER_CERT_NOT_EXIT("300003"),//商户公钥证书不存在
	PLAT_CERT_NOT_EXIT("300004"),//平台私钥证书不存在
	LOSE_QUERY_ERR("300005"),//掉单记录查询异常
	BANK_PROCESSOR_INIT_FAIL("300006"),//银行处理类初始化异常
	LOAD_PLAT_KEY_FAIL("300007"),//加载平台签名证书异常
	HTTP_UNKONWN("300008"),//未知错误
	EM_CONNECT_ERROR("30009"),//加密机连接异常
	
	DBSYN_NO_DATA_TO_SYN("310001"),//OPT表中没有数据需要同步
	DBSYN_DESERIALIZE_ERROR("310002"),//DBSynOpt反序列化失败
	BEAN_COPY_ERR("310003"),//Bean 复制异常
	QUERY_DB_ERR("310004"),//查询数据库错误
	SIGN_STR_EMPTY("310005"),//商户签名的密文为空
	PLAIN_STR_EMPTY("310006"),//商户验签的明文为空
	MER_EMPTY("310007"),//请求的商户号为空
	MDB_MSG_SEND_FAIL("310008"),//消息发送失败
	MER_NOTIFY_DATA_ERR("310009"),//获取商户通知数据失败
	CONFIRM_REFUND_FAIL("310010"),//确认退款失败
	PLAT_SIGN_ERR("310011"),//平台签名异常
	MER_NOTIFY_RES_ERR("310012"),//确认退款失败
	DATABASE_ERR("310013"),//数据库异常
	
	/** #订单信息错误返回[601----]=== */
	ORDER_PAYING("601001"),//订单正在处理中
	ORDER_PAY_SUCCESS("601002"),//订单已经支付成功，不允许继续支付
	ORDER_TRANS_SUCCESS("601003"),//订单已经交易成功，不允许继续支付
	ORDER_CANCELED("601004"),//订单已经撤销，请重新下单
	ORDER_CLOSED("601005"),//订单已经关闭，请重新下单
	COMFIRM_PAY_ORDER_NOT_EXIST("601006"),//平台没有找到订单记录
	CANCEL_ORDER_NOT_EXIST("601007"),//撤销的订单不存在
	CANCEL_ORDER_STATE_ERR("601008"),//撤销的订单状态不正确
	REFUND_ORDER_NOT_EXIST("601009"),//退款的订单不存在
	REFUND_ORDER_STATE_ERR("601010"),//退款的订单状态不正确
	ORDER_REFUND_FINISH("601011"),//订单已退款，不允许重复退款
	ORDER_REFUND_AMOUNT_ERR("601012"),//退款金额错误
	QUERY_ORDER_NOT_EXIST("601013"),//查询的订单不存在
	REFUND_TRADENO_EMPTY("601014"),//审核退款，tradeNo为空
	CANCEL_ORDER_STATE_CANCELED("601015"),//该订单已撤销
	CANCEL_ORDER_DATE_ERR("601016"),//撤销时订单日期不等于当前帐期
	CANCEL_ORDER_AMOUNT_ERR("601017"),//撤销时订单金额不符
	MER_REFUND_DATE_ERR("601018"),//当天订单信息不允许退款
	ORDER_REFUND_ORGAMOUNT_ERR("601019"),//订单交易金额与请求不符
	REFUNDNO_REPEAT("601020"),//退款编号已经重复
	REFUNDNO_NOT_EXIST("601021"),//退款记录不存在
	REFUND_BANK_FAIL("601022"),//第三方平台退款失败
	ORDER_TIMEEXPIRE("601023"),//订单过期
	ORDER_HAS_REQPAY("601024"),//该订单已经下单
	ORDER_PAY_FAIL("601025"),//订单支付失败
	ORDER_FLUSHES("601026"),//该订单已经冲正
	ORDER_FLUSHES_DATE("601027"),//非当天订单信息不允许冲正
	FLUSHES_ORDER_NOT_EXIST("601028"),//冲正订单不存在
	FLUSHES_TRANS_NOT_EXIST("601029"),//冲正的交易不存在
	FLUSHES_ALREADY_OK("D35901"),//冲正已受理D35901（由于异常情况未能找到当前冲正订单，会先受理冲正请求，稍后系统再尝试冲正数次确保冲正成功，可以认为冲正已经成功）
	
	/** #交易信息错误返回[602----]=== */
	TRANS_ORDER_AMT_ERR("602001"),//支付金额与下单金额不一致
	CANCEL_TRANS_NOT_EXIST("602002"),//撤销的交易不存在
	CANCEL_TRANS_FAIL("602003"),//该交易没有成功，不允许撤销
	REFUND_TRANS_NOT_EXIST("602004"),//退款的交易不存在
	REFUND_TRANS_FAIL("602005"),//退款的交易失败
	NOTIFY_TRANS_NOT_EXIST("602006"),//支付结果通知时交易不存在
	PAYTYPE_ERRO("602007"),//请求支付方式与原支付方式不符
	PAT_TRANS_NOT_EXIST("602008"),//支付交易不存在
	PAYMENT_REQ_ERR("602009"),//打款请求处理失败
	
	
	/** #银行错误返回[603----]=== */
	BANK_PAY_ERR("603001"),//第三方平台支付失败
	BANK_MSG_PARSE_ERR("603002"),//解析第三方平台返回错误
	BANK_CONFIG_ERR("603003"),//此接口未开通
	
	/** #商户错误信息返回[604----]=== */
	MER_PAYTYPE_ERR("604001"),//商户不支持该支付方式
	MER_REFUND_ERR("604002"),//商户退款错误
	CANCEL_ERR("604003"),//商户撤销错误
	MER_SIGN_VERIFY_FAIL("604004"),//商户请求签名验签失败
	MER_NOTIFY_FAIL("604005"),//支付结果通知商户失败
	MER_NOT_EXIST("604006"),//请求的商户不存在或未生效
	MERINFO_ADD_FAIL("604007"),//商户信息添加失败
	MERINFO_ADD_FAIL_EXIT("604008"),//添加商户失败，该商户号已经存在
	MERINFO_MOD_FAIL("604009"),//商户信息修改失败
	MERINFO_MOD_MERID_EMPTY("604010"),//商户信息修改失败，商户号为空
	MERINFO_DEL_FAIL("604011"),//商户信息删除失败
	MERINFO_QUERY_FAIL("604012"),//商户查询失败
	MERINFO_DEL_MERID_EMPTY("604013"),//商户信息删除失败，商户号为空
	MERINFO_QUERY_MERID_EMPTY("604014"),//商户信息查询失败，商户号为空
	MERPLAT_SIGN_VERIFY_FAIL("604015"),//商户平台接入验签失败
	MERINFO_ADD_FAIL_MERID_EMPTY("604016"),//请求添加外部商户信息,商户号不允许为空
	PLAT_ILLEGAL_ACCESS("604017"),//非法接入，请求的平台信息没有配置
	MER_PAYTYPE_AREA_LIMIT("604018"),//该支付方式受商户区域限制
	DISCOUNT_COUNTING_ERROR("604019"),//计算折扣信息错误
	MER_IS_NOT_PAYBILL("604020"),//商户没有财务付款单据
	MER_IS_PAYMENT("604021"),//商户该账期已付款
	
	/** #用户错误信息返回[605----]=== */
	USER_PAYTYPE_ERR("605001"),//用户没有开通该支付方式
	
	
	
	/** #接入错误信息返回[606----]=== */
	REQPAY_DATE_ERR("606001"),//请求订单日期错误
	REQPAY_SIGN_ERR("606002"),//请求报文签名不通过
	REQPAY_DATA_ERR("606003"),//请求数据错误
	REQPAY_MSGERR("606004"), //请求支付，解包异常
	REQPAY_ERR("606005"),//请求支付错误
	CONFIRMPAY_ERR("606006"),//确认支付错误
	PAY_REQ_PARAM_ERR("606007"),//请求参数错误
	MOBILE_BUSPAY_CANNOT_REFUND("606008"),//手机协议支付不允许退款
	DIRECT_PAY_ERR("606009"),//直接支付错误
	SMS_SEND_ERR("606010"),//短信下行错误
	CONFIRMPAY_ERR_PAYTYPE("606011"),//请求支付和确认支付的支付方式不一致
	CONFIRMPAY_ERR_DYNCODE("606012"),//确认支付动态密码错误
	CONFIRMPAY_ERR_ORDER_NOT_EXIST("606013"),//确认支付订单不存在
	CONFIRMPAY_ERR_AMT_NOT_EQ("606014"),//确认支付和请求支付的金额不一致
	CONFIRMPAY_ERR_DYNCODE_EXPIRE("606015"),//动态验证码已经过期
	MOBILE_NUM_AREA_ERR("606016"),//没有在Boss找到该手机号段信息,
	CONFIRMPAY_ERR_MEDIANO("606017"),//确认支付和请求支付的媒介编号不一致
	
	/** #差异处理错误信息返回[607----]=== */
	DIFF_REFUND_ERR("607001"),//差异退款错误
	DIFF_CLOSE_ERR("607002"),//差异关闭错误
	DIFF_DTL_NOT_EXIST("607003"),//差异不存在
	DIFF_REFUND_TRANS_NOT_EXIST("607004"),//差异退款的交易不存在
	
	
	/** #读取缓存信息返回[608----]=== */
	MC_MER_NOT_EXIST("608001"),//大商户不存在
	MC_SUBMER_NOT_EXIST("608002"),//子商户不存在
	MC_BANK_NOT_EXIST("608003"),//银行信息不存在
	MC_PAYCONF_NOT_EXIST("608004"),//支付配置不存在
	MC_OUTMER_NOT_EXIST("608005"),//外部商户不存在
	MC_CACHE_UNINITIALISED("608006"),//缓存无法创建
	MC_CACHE_UNKNOWN_ERR("608007"),//缓存状态异常
	MC_REFRESH_SINGLE_ERR("608008"),//刷新单个缓存异常
	MC_SUBMER_STATE_ILLEGAL("608009"),//子商户未审核通过
	MC_SUBMER_ISDELETE_ILLEGAL("608010"),//子商户已删除
	MC_MER_STATE_ILLEGAL("608011"),//大商户不可用
	
	
	/** #团购券码信息返回[609----]=== */
	GS_IS_NO("609001"), //团购券不存在
	GS_CONSUMPTION("609002"),//团购券已消费
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	PLAT_ERR("999999");
	/**以下是枚举类自定义方法 */
	private String code;//错误码
	private ConstEC(String code){
		this.code = code;
	}
	public static String getMsgCode(ConstEC code){
		return code.getCode();
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	
	/* 
	 * desc:
	 * (non-Javadoc)
	 * @see java.lang.Enum#toString()
	 */
	@Override
	public String toString() {
		return code;
	}
	
	public static void main(String[] args) {
		System.out.println(ConstEC.SUCCESS.code);
	}
	
}
